home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
commodore-users-of-norman
/
CUON_##_(05-1985).d64
/
up the ladder
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
12KB
|
430 lines
1 GOTO910
2 REM ** ML STOP KEY DISABLE **
3 PRINT"x[169]=[141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X`
4 [153]"xhhh+hNOThhhhhhhPRINT#HRUNHX`111"
5 [153]"hhhhhhh`1"
6 [143] ** 4 - POP ML SUBROUTINE **
10 [143] **GENERAL INPUT ROUTINE **
15 :
30 :
35 [143] +++ INPUT SECTION +++
40 UR$[178]"":UI$[178]"":[151]UO,0
42 [139]UL[178]0[167]UL[178]80
45 [151]UC,0
50 [161]UI$:[139]UI$[178]""[167]50
55 [139]UI$[178][199](13)[175][195](UR$)[177][178]1[167][151]UC,1:[153]" CMD";:[137]85
60 [139]UI$[178][199](20)[167]105
62 [139] [195](UR$)[178][177]UL[167]50
65 [141]120:[143] CHECK FOR VALID CHARACTER
70 UR$[178]UR$[170]UI$
75 [153]UI$;
80 [137]50
85 [143] +++ CHECK FOR HELP REQUEST +++
90 [139]UR$[178]UX$[167]195:[143] EXIT TO HELP ROUTINE
95 [139]UF[178]1[167][141]240
100 UF[178]0:[153]:[142]
102 [143] ++ CHECK DELETE ++
105 [139][195](UR$)[179]1[167]50
110 UR$[178][200](UR$,[195](UR$)[171]1)
115 [153]"CMD CMDCMD";:[137]50
120 [143] ++ CHECK FOR VALID CHARACTERS ++
125 [139][195](US$)[178]0[167]150
130 [129]US[178]1[164][195](US$)
135 [139]UI$[178][202](US$,US,1)[167][142]
140 [130]
145 UI$[178]"":[142]
150 [143] ** STANDARD INPUT **
152 [139][198](UI$)[178]46[167][142]
155 [139]UI$[178][199](32)[167][142]
160 [139][198](UI$)[179]48[176][198](UI$)[177]57[167]170
165 [142]
170 [139][198](UI$)[179]65[176][198](UI$)[177]90[167]180
175 [142]
180 [139][198](UI$)[179]193[176][198](UI$)[177]218[167]UI$[178]"":[142]
185 [139][194](UT)[178]UU%[167]UI$[178][199]([198](UI$)[171]128):[142]
187 [142]
190 UI$[178]"":[142]
195 UF[178]1:[143] +++ HELP ROUTINE EXIT +++
197 [141]250
200 [141]245
205 [129]UQ[178]UB[164]UB[170]920
210 UQ%(UQ[171]UB)[178][194](UQ):[130]:[153]"LOAD"
215 UZ[178]1:UV%[178][194](UT)
216 [137]300
217 UZ[178]0:US$[178]UJ$:UG$[178]UK$:UP[178]UJ:UL[178]UK:[139][194](50003)[178]0[167][151]53281,6:[151]53280,14
220 UT$[178]UL$:[153]"LOAD";:[151]UT,UV%:[129]UQ[178]UB[164]UB[170]920
225 [151]UQ,UQ%(UQ[171]UB):[130]
230 [151]U1,U1%
232 [151]U2,U2%
233 [151]U4,U4%
234 [151]U3,U3%[171]1
235 [153]" CMD";:[137]35
240 UD%[178]((U2%[172]256[170]U1%[170]U3%)[171]UB)[173]40:[153][200](UD$,UD%[170]1):[142]
245 [153][200](UD$,24);" HELP COMING WAIT ":[142]
250 U1%[178][194](U1):U2%[178][194](U2):U3%[178][194](U3):U4%[178][194](U4)
251 UJ$[178]US$:UK$[178]UG$:UL$[178]UT$:UJ[178]UP:UK[178]UL
255 [142]
300 [143] ** MENU **
301 :
302 [153]"LOAD":[151]UT,UU%:[139][194](50003)[178]0[167][151]53281,9:[151]53280,8
303 :
305 [153]" MENU"
310 [153]" --------------------------------------"
315 [153]" 1. BEGIN UP THE LADDER"
320 [153]" 2. STUDENT INSTRUCTIONS"
325 [153]" 3. TEACHER INSTRUCTIONS"
335 [153]" 4. QUIT"
340 [153]" --------------------------------------"
345 [153]" PRESS A NUMBER KEY (1-4) ";
350 UL[178]1:US$[178]"1234":[141]35:[143] INPUT ROUTINE
352 US$[178]""
355 [145][197](UR$)[141]1000,400,500,396
360 [137]300
395 [143] ** RE-ENABLE STOP KEY AND END **
396 [139][194](50003)[179][177]1[175][194](50003)[179][177]160[175][194](50003)[179][177]0[167]399
397 [158]UU[170]71:[139][194](50003)[178]0[167][151]53281,6:[151]53280,14
398 [153]"CONTLOAD":[128]
399 [141]875:[142]
400 [143] ** STUDENT INSTRUCTIONS **
405 [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,0:[151]53280,0
410 UP[178]0:UH[178]1:UG$[178]"(null)TUDENT RIGHT$NST":[141]850
420 [141]2500
480 [141]835
490 [139]UZ[178]1[167][158]UP%:[137]217
499 [142]
500 [143] ** TEACHER INSTRUCTIONS **
501 [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,2:[151]53280,10
502 UP[178]0:UG$[178]"(null)EACHER RIGHT$NST":[141]850
503 [153]" (null)O THE BEST OF OUR KNOWLEDGE,"
504 [153]" THIS PROGRAM IS IN THE PUBLIC"
505 [153]" DOMAIN. RIGHT$F THIS IS NOT THE CASE"
506 [153]" PLEASE CONTACT:"
507 [153]" LENOMMODORE PEEKUSINESS (null)ACHINES"
508 [153]" 3370 (null)HARMACY ATNVE.
509 PRINT" [193]GINCOURT, [207]NTARIO"
510 PRINT" [195]ANADA [205]1[215] 2[203]4"
511 PRINT" (416) 499-4292"
512 UP=1:GOSUB 835:GOSUB 850:
513 PRINT" [208]ROGRAM [206]AME: [213]P [212]HE [204]ADDER
514 [153]" (null)RITTEN PEEKY : ASCRED LENHRISTIE
515 PRINT" [213]PGRADED [194]Y :
516 [153]" (null)HIS PROGRAM WILL RUN ON ANY
517 PRINT" [194][193][211][201][195][160]2.0 [208][197][212] [195][207][205][208][213][212][197][210]
518 [153]" PEEKATN(null)RIGHT$LEN 4.0 (null)VAL(null)CLOSELEN(null)(null)(null)(null)(null)VAL(null)
519 PRINT" 8032 [195][194][205] [195][207][205][208][213][212][197][210]
520 [153]" LEN(null)(null)(null)(null)STR$(null)(null)VAL 64 LEN(null)(null)(null)(null)(null)VAL(null)
521 GOSUB835
590 IFUZ=1THENSYSUP%:GOTO217
599 RETURN
600 REM ** PROGRAM MODIFICATION INST **
601 PRINT"[147]":POKEUT,UL%
605 UP=0:UG$="[208]ROGRAM [205]OD":GOSUB850
660 GOSUB835
690 IFUZ=1THENSYSUP%:GOTO217
699 RETURN
700 REM ** TO USE 8032 LOAD CBM4032 **
710 PRINT"[147]BEFORE RUNNING THIS PROGRAM ON AN 8032
720 [153]" LOAD THE 'CBM 4032' PROGRAM"
730 [158]UU[170]71
740 [128]
797 [143] ** TO USE 8032 LOAD CBM4032 **
798 [153]"LOADBEFORE RUNNING THIS PROGRAM ON AN 8032 LOAD CBM 4032 PROGRAM"
799 [158]1093:[128]
800 [143] ** T I T L E P A G E **
802 [153]"LOAD";:[151]UT,UU%:[139][194](50003)[178]0[167][151]53280,14:[151]53281,6
803 [153][199](142);
804 [129]I[178]1[164]38:[153]"SPC(WAIT";:[130]
806 [129]I[178]1[164]22:[153]"CMDSPC(WAIT";:[130]
808 [129]I[178]1[164]37:[153]"CMDCMDSPC(WAIT";:[130]
810 [129]I[178]1[164]22:[153]"ONCMDSPC(WAIT";:[130]
812 [153]"STEP WAIT
814 PRINT" [146] [146][169]
816 [153]" WAIT TAB((null)
818 PRINT"[223] [146]
820 [153]"C O M M O D O R E
822 PRINT"EDUCATIONAL
824 [153]"SOFTWARE
826 REM ** COMMODORE LOGO **
827 PRINTLEFT$(UD$,24);"PRESS SPACE BAR OR WAIT[146]":I=0
828 GETA$:IFA$<>" "THENI=I+1:IFI<250THEN828
830 T1$="":T2$="":T3$="":T4$="":I=0
832 GOTO300
835 REM ** SPACE BAR PRESS **
840 PRINTLEFT$(UD$,24);"PRESS SPACE BAR TO CONTINUE[146]":POKEUO,0
844 GETUI$:IFUI$<>" "THEN844
846 RETURN
850 REM ** PAGE DESIGN ROUTINE **
852 UP=UP+1:PRINT"[147]";
855 PRINT""LEFT$(UT$+UP$,21);RIGHT$(UP$+UG$+STR$(UP),18)
860 PRINT" --------------------------------------"
864 IFUH<>0THEN870
865 PRINTLEFT$(UD$,24);LEFT$(UP$,7);"HELP - PRESS H <RETURN>"
870 UH=0:PRINT"":RETURN
875 REM ** PLEASE WAIT REMARK **
880 PRINTLEFT$(UD$,24);" ONE MOMENT PLEASE... "
885 RETURN
900 REM ** SET UP VARIABLES **
901 UX$="H":DIMUQ%(1000):UB=32768:U1=196:U2=197:U3=198:U4=216:UC=167:UU=1024
902 UT=59468:UU%=12:UL%=14:UP%=1146:UM=32768:POKE 50003,0:UO=158
903 IFPEEK(50003)=0THENUB=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UU=2048
904 IFPEEK(50003)=0THENUT=53272:UU%=21:UL%=23:UP%=2139:UM=1024:UO=198
905 UD$=""
906 UP$=" "
907 UT$=" [213][208][160][212][200][197][160][204][193][196][196][197][210][160][160][160][160][160]":REM PLACE PROGRAM TITLE HERE !!!!!!!!!!!!!!!!!***
908 RETURN
910 REM ** SET VARIABLES **
915 GOSUB900
916 :
917 :
920 REM ** CHECK FOR 8032 **
925 PRINT"[147]":PRINT"[160]":REM SHIFTED SPACE
930 IFPEEK(UB+40)<>96THENGOSUB700
931 REM ** MEMORY CHECK **
932 IF FRE(0)>2000THEN937
933 PRINT"[147]THIS MACHINE DOES NOT HAVE ENOUGH"
934 PRINT"MEMORY TO RUN THIS PROGRAM !"
935 SYSUU+71
936 END
937 PRINT"[147]":IFPEEK(50003)=0THEN962
940 REM ** BASIC 2.0 OR 4.0 OR C-64 SETUP **
941 POKE1075,133:POKE1076,144:POKE1077,234:POKE1079,4:POKE1080,133:POKE1081,145
942 POKE1091,155:POKE1098,133:POKE1099,144:POKE1100,234:POKE1103,133
943 POKE1104,145:POKE1105,234:POKE1082,234
945 IFPEEK(50003)<>160THEN955
950 POKE1093,88:POKE1094,228:POKE1097,85:POKE1102,228:GOTO965
955 IFPEEK(50003)<>1THEN990
960 POKE1093,49:POKE1094,230:POKE1097,46:POKE1102,230:GOTO965
962 POKE2099,141:POKE2100,20:POKE2101,3:POKE2103,8:POKE2104,141:POKE2105,21
963 POKE2106,3:POKE2115,145:POKE2117,52:POKE2118,234:POKE2121,49:POKE2122,141
964 POKE2123,20:POKE2124,3:POKE2126,234:POKE2127,141:POKE2128,21:POKE2129,3
965 SYSUU+48:REM DISABLE STOP KEY
970 GOSUB800:REM TITLE
980 GOTO300:REM MENU
990 PRINT"[147]THE PGM WILL NOT WORK ON THIS MACHINE!":END
1000 IFUZ=1THENSYSUP%:SYSUP%:UZ=0:REM ** PROGRAM STARTS HERE **
1001 PRINT"[147]";:RESTORE:IFPEEK(50003)=0THENPOKE53281,6:POKE53280,14
1005 AA=RND(-TI):F=0
1010 RESTORE
1020 REM ETOBICOKE BOARD OF EDUCATION
1030 REM
1040 REM
1050 REM ******************************
1090 REM ** (81/7/7) **
1110 REM ** FRED CHRISTIE **
1130 REM ** 11 MILLVIEW CRES. **
1140 REM ** REXDALE ONTARIO **
1150 REM ** M9W 3K4 **
1160 REM ** **
1170 REM ** 749 6290 (416) **
1180 REM ** 742 5431 **
1190 REM ** **
1200 REM ******************************
1210 REM
1220 REM
1230 REM
1240 REM
1250 REM DOCUMENTATION
1260 REM
1270 REM# THIS PROGRAM IS DESIGNED FOR
1280 REM#
1290 REM# CHILDREN IN PRIMARY GRADES (OR 225 REM#
1300 REM# HIGHER) WHO ARE LEARNING THE
1310 REM#
1320 REM# BASIC FACTS OF ADDITION. IT
1330 REM#
1340 REM# PROVIDES THEM WITH DRILL OF
1350 REM#
1360 REM# THE FACTS FROM 0+0 TO 9+9
1370 REM#
1380 REM# RANDOMLY GENERATED. MOTIVA-
1390 REM#
1400 REM# TION IS PROVIDED IN THAT THE 280 REM#
1410 REM# CHILD HAS TO WORK HIS WAY UP
1420 REM#
1430 REM# TO THE TOP OF THE LADDER. A
1440 REM#
1450 REM# TIME IS GIVEN FOR THE CHILD TO 310 REM#
1460 REM# GET TO THE TOP AND IF HE PLAYS 320 REM#
1470 REM# AGAIN HE CAN TRY TO BEAT HIS
1480 REM#
1490 REM# PREVIOUS BEST TIME.
1500 REM#
1510 REM#
1520 POKEUT,UL%
1530 :
1540 LQ=4:REM MAX LENGTH OF ANSWER
1550 MX=10:REM MAX FIRST NUMBER
1560 MY=10:REM MAX SECOND NUMBER
1570 :
1580 DN$=""
1590 PU$="[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]"
1600 RT$=""
1610 LT$="[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]"
1620 S=300
1670 GOSUB2840:REM LADDER
1680 PRINT"[215]HAT IS YOUR NAME?";
1690 PRINT" ";:UL=5:US$="":GOSUB35:NAME$=UR$
1700 PRINT"[217]OU LOOK LIKE AN HONEST PERSON
1710 [153]"";NAME$;".";" RIGHT$'M GOING TO GIVE YOU A
1720 PRINT"RIGHT ANSWER FOR THAT!"
1750 GOSUB835
1770 T1=TI
1780 UP=F:UG$="[209]UESTION #":GOSUB2840
1790 PRINT" "
1800 FOR X=1TO50:NEXT
1810 PRINT"[166]"
1820 FOR X=1TO1500:NEXT
1830 DD=19:GOTO 1940
1840 IFDD>16 THEN1770
1850 REM
1860 PRINT""+LEFT$(RT$,1)+LEFT$(DN$,DD+1);"[192]"
1870 PRINT""+LEFT$(RT$,1)+LEFT$(DN$,(DD-1));"[166]"
1880 DD=DD-2:IFDD=1THEN2120
1890 GOTO1940
1900 IFDD>16THEN1770
1910 PRINT""+LEFT$(RT$,1)+LEFT$(DN$,DD+1);"[192]"
1920 PRINT""+LEFT$(RT$,1)+LEFT$(DN$,(DD+5));"[166]"
1930 DD=DD+4:GOTO2000:REM REPEAT QUESTION
1940 REM GENERATE QUESTIONS
1950 F=F+1:UP=F:GOSUB855
1960 X=INT(MX*RND(0))
1970 Y=INT(MY*RND(0))
1990 PRINT" "
2000 PRINT" " X "+" Y "= [157][157][157][157][157]";
2010 PRINT" ";:UL=3:US$="0123456789+-.H":GOSUB35:ANS=VAL(UR$)
2020 IFANS<>X+YTHEN2090
2040 IF ANS=X+Y THEN PRINT"[210]IGHT ON!":GOSUB3900
2060 PRINT"[145] "
2070 GOTO1850
2090 PRINT"[211]ORRY! [212]RY AGAIN."
2100 R=INT(RND(0)*2+1):ONRGOSUB3940,4000
2110 GOTO1900
2120 T2=TI: REM TIME VARIABLE
2130 FORX=1TO2000:NEXT:UG$="":UP=0:UH=1
2140 GOSUB850:PRINT"";NAME$;", YOU MADE IT TO "
2143 POKE59467,16:POKE59466,15
2144 FORQ=1TO3:FOR X=45 TO30 STEP-1:POKE59464,X:FORJ=1TO7:NEXTJ,X,Q
2150 POKE59464,1
2160 PRINT""
2170 PRINT" [146] [146] [146] [146]"
2180 PRINT" [146] [146] [146] [146]"
2190 PRINT" [146] [146] [146]"
2200 PRINT" [146] [146] [146] [146]"
2210 PRINT" [146] [146] [146] [146]"
2220 FORQ=1TO3:FOR X=35 TO20 STEP-1:POKE59464,X:FORJ=1TO7:NEXTJ,X,Q
2230 PRINT""
2240 PRINT" [146] [169] [223][146] [223][146] [146]"
2250 PRINT" [146] [146] [146] [146] [146] [146]"
2260 PRINT" [146] [146] [146] [146][169] [146]"
2270 PRINT" [146] [146] [146] [146]"
2280 PRINT" [146] [223] [146][169] [146] [146]"
2290 FORQ=1TO6:M=(Q=6)*-35+38:FOR X=35TOM:POKE59464,X:FORJ=1TO7:NEXTJ,X,Q
2291 POKE59467,14
2300 T=INT((T2-T1)/60)
2310 UH=1:GOSUB850:PRINT"[217]OUR TIME WAS";T;"SECONDS."
2320 IFT<=STHENS=T
2330 FORX=1TO1000:NEXT
2340 PRINT"[217]OUR BEST TIME TODAY IS";S;"SECONDS."
2350 FORX=1TO1000:NEXT
2360 PRINT"[215]OULD YOU LIKE TO PLAY AGAIN?"
2370 GET Z4$:IF Z4$=""THEN2370
2380 IFZ4$="Y"THENT1=TI:GOTO1770
2390 UH=1:GOSUB850:PRINT"[211]EE YOU AGAIN SOMETIME, ";NAME$:GOSUB4110
2400 GOTO835
2500 REM INSTRUCTIONS FROM410
2510 LL$="[221] [221]":SS$="[171][192][179]"
2530 FORAA=1TO9:PRINTSS$:PRINTLL$:NEXTAA:PRINTSS$
2560 PRINT"[221][166][221]"
2600 FORX=1TO500:NEXT
2620 PRINT"[212]HIS SYMBOL,";
2630 FOR X=1TO500:NEXT
2640 PRINT" [166]";
2650 FORX=1TO500:NEXT
2660 PRINT"IS YOU AT THE BOTTOM
2670 [153]"OF THE LADDER."
2680 [129]X[178]1[164] 2000:[130]
2690 [153][200](UD$,6)
2700 [153]"_TANTAN"
2710 [129]X[178]1[164]3000:[130]
2720 [153][200](UD$,8)
2730 [153]"(null)OU WORK YOUR WAY UP THE LADDER BY
2740 PRINT"ANSWERING QUESTIONS. [198]OR EACH"
2750 PRINT"QUESTION THAT YOU ANSWER CORRECTLY
2760 [153]"YOU MOVE UP ONE RUNG OF THE LADDER."
2770 [153]"RIGHT$F YOU MAKE AN ERROR, YOU SLIPWAIT"
2780 [153]"BACKWAIT TWO.
2810 RETURN
2820 GOTO1680
2830 STOP
2840 REM LADDER
2850 LL$="[221] [221]":SS$="[171][192][179]"
2860 GOSUB850
2870 FORAA=1TO9:PRINTSS$:PRINTLL$:NEXTAA:PRINTSS$:PRINT"[221][166][221]"
2910 FORX=1TO500:NEXT:RETURN
3900 R=INT(RND(0)*3+1):ONRGOTO4320,4630,4510
3940 REM RASPBERRY
3950 POKE59467,16:POKE59464,0:POKE59466,9:FORL=1TO50:POKE59464,238:POKE59464,25
3960 NEXT:POKE59467,0:POKE59466,0:POKE59464,0:RETURN
4000 REM BOMBS AWAY
4040 POKE59467,16
4050 POKE59464,0
4060 POKE59466,85
4070 FORR=50TO75 :POKE59464,R:FORL=1TO30:NEXT:NEXT
4080 POKE59466,1:POKE59464,255:FORL=1TO400:NEXT
4090 POKE59467,0:POKE59466,0:POKE59464,0
4100 RETURN
4110 REM SHAVE 'N HAIRCUT ADAPTED FROM
4150 P=59464
4160 POKE59467,16
4170 POKE59464,0
4180 GOSUB4210
4190 POKE59467,0:POKE59466,0:POKE59464,0
4200 RETURN
4210 POKE59466,15:T=3
4220 POKEP,188:FORL=1TO200:NEXT
4230 POKEP,251:FORL=1TO100:NEXT:GOSUB4310
4240 POKEP,251:FORL=1TO100:NEXT
4250 POKEP,225:FORL=1TO200:NEXT
4260 POKEP,251:FORL=1TO300:NEXT
4270 POKE P,0:FORL=1TO150:NEXT
4280 POKEP,199:FORL=1TO200:NEXT:T=50:GOSUB4310
4290 POKEP,188:FORL=1TO150:NEXT
4300 RETURN
4310 POKE59464,0:FORL=1TOT:NEXT:RETURN
4320 REM CHARGE! ADAPTED FROM
4360 P=59464
4370 POKE59467,16
4380 POKE59464,0
4390 GOSUB4430
4400 POKE59467,0:POKE59466,0:POKE59464,0
4410 RETURN
4430 POKE59466,15:T=3
4440 POKEP,255:FORL=1TO100:NEXT:GOSUB4310
4450 POKEP,191:FORL=1TO100:NEXT:GOSUB4310
4460 POKEP,152:FORL=1TO100:NEXT:GOSUB4310
4470 POKEP,128:FORL=1TO200:NEXT:GOSUB4310
4480 POKEP,152:FORL=1TO100:NEXT:T=0:GOSUB4310
4490 POKEP,128:FORL=1TO400:NEXT
4500 RETURN
4510 REM VANISHING SAUCER ADAPTED FROM
4550 P=59464
4560 POKE59467,16
4570 POKE59464,0
4580 POKE59466,29
4590 FORL=160TO30 STEP-1 :POKEP,L:POKEP,L+5:POKEP,L+15:REMFOR Z=1TO0:NEXT
4600 NEXT
4610 POKE59467,0:POKE59466,0:POKE59464,0
4620 RETURN
4630 REM SCRAMBLE ADAPTED FROM
4670 POKE59467,16
4680 POKE59464,0
4690 POKE59466,85
4700 FORL=1TO5
4710 FORL1=1TO14:POKE59464,L1*16:NEXT
4720 NEXT
4730 POKE59467,0:POKE59466,0:POKE59464,0
4740 RETURN
4750 MOST OF THESE SOUND EFFECTS ARE
4760 COUTESY OF JOHN DAVID AND ALSO
4770 CURSOR MAGAZINE.